struct _GtkIconHelperPrivate {
GtkImageDefinition *def;
- GtkWidget *owner;
- GdkWindow *window;
-
GtkIconSize icon_size;
gint pixel_size;
{
int scale;
- scale = gtk_widget_get_scale_factor (self->priv->owner);
+ scale = gtk_widget_get_scale_factor (gtk_css_gadget_get_owner (GTK_CSS_GADGET (self)));
if ((self->priv->rendered_surface != NULL) &&
(self->priv->last_surface_scale == scale))
else
pixbuf = g_object_ref (orig_pixbuf);
- surface = gdk_cairo_surface_create_from_pixbuf (pixbuf, scale, gtk_widget_get_window (self->priv->owner));
+ surface = gdk_cairo_surface_create_from_pixbuf (pixbuf, scale, gtk_widget_get_window (gtk_css_gadget_get_owner (GTK_CSS_GADGET (self))));
icon_effect = _gtk_css_icon_effect_value_get (gtk_css_style_get_value (style, GTK_CSS_PROPERTY_ICON_EFFECT));
gtk_css_icon_effect_apply (icon_effect, surface);
g_object_unref (pixbuf);
scale);
surface = gdk_cairo_surface_create_from_pixbuf (pixbuf,
scale,
- gtk_widget_get_window (self->priv->owner));
+ gtk_widget_get_window (gtk_css_gadget_get_owner (GTK_CSS_GADGET (self))));
g_object_unref (pixbuf);
return surface;
{
GtkCssIconEffect icon_effect;
- surface = gdk_cairo_surface_create_from_pixbuf (destination, scale, gtk_widget_get_window (self->priv->owner));
+ surface = gdk_cairo_surface_create_from_pixbuf (destination, scale, gtk_widget_get_window (gtk_css_gadget_get_owner (GTK_CSS_GADGET (self))));
icon_effect = _gtk_css_icon_effect_value_get (gtk_css_style_get_value (style, GTK_CSS_PROPERTY_ICON_EFFECT));
gtk_css_icon_effect_apply (icon_effect, surface);
}
else
{
- surface = gdk_cairo_surface_create_from_pixbuf (destination, scale, gtk_widget_get_window (self->priv->owner));
+ surface = gdk_cairo_surface_create_from_pixbuf (destination, scale, gtk_widget_get_window (gtk_css_gadget_get_owner (GTK_CSS_GADGET (self))));
}
g_object_unref (destination);
GtkIconSet *icon_set;
GIcon *gicon;
- context = gtk_widget_get_style_context (self->priv->owner);
+ context = gtk_widget_get_style_context (gtk_css_gadget_get_owner (GTK_CSS_GADGET (self)));
switch (gtk_image_definition_get_storage_type (self->priv->def))
{
if (icon_set != NULL)
surface = ensure_surface_for_icon_set (self,
gtk_style_context_lookup_style (context),
- gtk_widget_get_direction (self->priv->owner),
+ gtk_widget_get_direction (gtk_css_gadget_get_owner (GTK_CSS_GADGET (self))),
scale, icon_set);
else
surface = NULL;
icon_set = gtk_image_definition_get_icon_set (self->priv->def);
surface = ensure_surface_for_icon_set (self,
gtk_style_context_lookup_style (context),
- gtk_widget_get_direction (self->priv->owner),
+ gtk_widget_get_direction (gtk_css_gadget_get_owner (GTK_CSS_GADGET (self))),
scale, icon_set);
break;
gicon = g_themed_icon_new (gtk_image_definition_get_icon_name (self->priv->def));
surface = ensure_surface_for_gicon (self,
gtk_style_context_lookup_style (context),
- gtk_widget_get_direction (self->priv->owner),
+ gtk_widget_get_direction (gtk_css_gadget_get_owner (GTK_CSS_GADGET (self))),
scale,
gicon);
g_object_unref (gicon);
case GTK_IMAGE_GICON:
surface = ensure_surface_for_gicon (self,
gtk_style_context_lookup_style (context),
- gtk_widget_get_direction (self->priv->owner),
+ gtk_widget_get_direction (gtk_css_gadget_get_owner (GTK_CSS_GADGET (self))),
scale,
gtk_image_definition_get_gicon (self->priv->def));
break;
if (!check_invalidate_surface (self, context))
return;
- scale = gtk_widget_get_scale_factor (self->priv->owner);
+ scale = gtk_widget_get_scale_factor (gtk_css_gadget_get_owner (GTK_CSS_GADGET (self)));
self->priv->rendered_surface = gtk_icon_helper_load_surface (self, scale);
}
GtkStyleContext *context;
gint width, height, scale;
- context = gtk_widget_get_style_context (self->priv->owner);
+ context = gtk_widget_get_style_context (gtk_css_gadget_get_owner (GTK_CSS_GADGET (self)));
width = height = 0;
/* Certain kinds of images are easy to calculate the size for, these
case GTK_IMAGE_PIXBUF:
get_pixbuf_size (self,
- gtk_widget_get_scale_factor (self->priv->owner),
+ gtk_widget_get_scale_factor (gtk_css_gadget_get_owner (GTK_CSS_GADGET (self))),
gtk_image_definition_get_pixbuf (self->priv->def),
gtk_image_definition_get_scale (self->priv->def),
&width, &height, &scale);
GtkIconHelper *
_gtk_icon_helper_new (GtkWidget *owner)
{
- GtkIconHelper *helper;
-
g_return_val_if_fail (GTK_IS_WIDGET (owner), NULL);
- helper = g_object_new (GTK_TYPE_ICON_HELPER, NULL);
-
- helper->priv->owner = owner;
-
- return helper;
+ return g_object_new (GTK_TYPE_ICON_HELPER,
+ "owner", owner,
+ NULL);
}
void
gdouble x,
gdouble y)
{
- GtkStyleContext *context = gtk_widget_get_style_context (self->priv->owner);
+ GtkStyleContext *context = gtk_widget_get_style_context (gtk_css_gadget_get_owner (GTK_CSS_GADGET (self)));
gtk_icon_helper_ensure_surface (self, context);